home *** CD-ROM | disk | FTP | other *** search
/ Softdisk Supreme / Softdisk Supreme.iso / pc / DSK Files / 0-49 / SD003b.dsk / SIMPLE.SIMON.bas < prev    next >
BASIC Source File  |  2003-06-12  |  7KB  |  161 lines

  1. 1  REM  SIMPLE SIMON
  2. 2  REM  BY SUE BIEGLER
  3. 3  REM     1008 ESPLANADE
  4. 4  REM     LAKE CHARLES LA 70605
  5. 8 IY = 1
  6. 9  DIM Y1(8),Y2(8),X1(8),X2(8),T(40),A(8),Q(8),C1(8),C2(8),F(8),D(8)
  7. 10  REM  CHECK TO SEE IF SOUND BINARY FILE IS ALREADY LOADED
  8. 20  TEXT : HOME 
  9. 30  IF  PEEK(40000) = 1  THEN  GOTO 80
  10. 40  HIMEM: 40000
  11. 50 D$ =  CHR$(4)
  12. 60  PRINT D$"BLOAD SOUND"
  13. 70  POKE 40000,1
  14. 80  GOTO 390
  15. 90  REM  SOUND ROUTINE
  16. 100 D = D(I) *4/(N *D1)
  17. 110  IF D <1  THEN D = 1
  18. 120  POKE 768,D
  19. 130  POKE 769,F(I)
  20. 140  CALL 770
  21. 150  RETURN 
  22. 160  FOR Y = Y1(I) TO Y2(I)
  23. 170  HLIN X1(I),X2(I) AT Y
  24. 180  NEXT Y
  25. 190  RETURN 
  26. 200  PRINT : PRINT : PRINT : PRINT "YOUR TURN..."
  27. 210  FOR A = 1 TO N
  28. 220 Z =  PEEK( -16368)
  29. 230  FOR W = 1 TO 200/D1
  30. 240  IF W = 200/D1 -1  THEN  GOTO 850
  31. 250  IF  PEEK( -16384) >127  THEN W = 200/D1
  32. 260  NEXT W
  33. 270 I = T(A)
  34. 280  IF ( PEEK( -16384) -128) < >A(I)  THEN  GOTO 870
  35. 290  COLOR= C2(I): GOSUB 160: GOSUB 90: COLOR= C1(I): GOSUB 160
  36. 300  NEXT A
  37. 310 N = N +1: PRINT : PRINT : PRINT "ROUND NO. ";N: GOTO 810
  38. 320  PRINT : PRINT : PRINT : HTAB 3: PRINT "DO YOU WANT INSTRUCTIONS?";: GET A$
  39. 325 IY = 2
  40. 330  IF A$ = "Y"  THEN  GOTO 1440
  41. 340  PRINT : PRINT : PRINT : PRINT : PRINT : HTAB 3: PRINT "ENTER DIFFICULTY -- (1,2,3,OR4)": GET A$
  42. 345  IF  VAL(A$) <1  OR  VAL(A$) >4  THEN 340
  43. 350 D1 =  VAL(A$)
  44. 360  PRINT : PRINT : PRINT : PRINT : HTAB 3: PRINT "ENTER NO. OF COLORS -- (2 THRU 8) ": GET A$:Q =  VAL(A$)
  45. 370  IF Q <2  OR Q >8  THEN  GOTO 360
  46. 380  RETURN 
  47. 390  REM  DIM VARIABLES
  48. 410 N = 1
  49. 420  REM  INITIALIZE QUAD LIMITS AND COLORS
  50. 430 Y1(1) = 18:Y2(1) = 25:X1(1) = 13:X2(1) = 17:C1(1) = 1:C2(1) = 11:F(1) = 10:A(1) = 82:D(1) = 30
  51. 440 Y1(2) = 18:Y2(2) = 25:X1(2) = 21:X2(2) = 25:C1(2) = 2:C2(2) = 7:F(2) = 30:A(2) = 84:D(2) = 15
  52. 450 Y1(3) = 30:Y2(3) = 37:X1(3) = 13:X2(3) = 17:C1(3) = 4:C2(3) = 12:F(3) = 45:A(3) = 70:D(3) = 10
  53. 460 Y1(4) = 30:Y2(4) = 37:X1(4) = 21:X2(4) = 25:C1(4) = 9:C2(4) = 13:F(4) = 60:A(4) = 71:D(4) = 7
  54. 470 Y1(5) = 18:Y2(5) = 25:X1(5) = 5:X2(5) = 9:C1(5) = 8:C2(5) = 9:F(5) = 70:A(5) = 69:D(5) = 7
  55. 480 Y1(6) = 30:Y2(6) = 37:X1(6) = 5:X2(6) = 9:C1(6) = 14:C2(6) = 15:F(6) = 80:A(6) = 68:D(6) = 7
  56. 490 Y1(7) = 18:Y2(7) = 25:X1(7) = 29:X2(7) = 33:C1(7) = 5:C2(7) = 15:F(7) = 90:A(7) = 89:D(7) = 6
  57. 500 Y1(8) = 30:Y2(8) = 37:X1(8) = 29:X2(8) = 33:C1(8) = 3:C2(8) = 11:F(8) = 100:A(8) = 90:D(8) = 5
  58. 510  GOTO 1060
  59. 520  PRINT : PRINT : COLOR= 0: FOR G = 18 TO 39: HLIN 0,39 AT G: NEXT G: ON IY GOSUB 320,340:I = 1:N = 1:IY = 2
  60. 530  FOR I = I TO Q
  61. 540  COLOR= C1(I)
  62. 550  GOSUB 160
  63. 560  FOR W = 1 TO 500: NEXT W
  64. 570  NEXT I
  65. 580  FOR W = 1 TO 500: NEXT W
  66. 590  FOR I = 1 TO Q
  67. 600  COLOR= C2(I)
  68. 610  GOSUB 160
  69. 620 D = D(I): GOSUB 120
  70. 630  COLOR= C1(I)
  71. 640  GOSUB 160
  72. 650  NEXT I
  73. 660  PRINT : PRINT : PRINT : PRINT : HTAB 9: INVERSE : PRINT "HIT ANY KEY TO CONTINUE": NORMAL : GET A$
  74. 670  PRINT : PRINT : PRINT : PRINT 
  75. 680  FOR W = 1 TO 500: NEXT W
  76. 690 T(N) =  RND(1) *(Q +1)
  77. 700 T(N) =  INT(T(N))
  78. 710  IF T(N) <1  OR T(N) >Q  THEN  GOTO 690
  79. 720  FOR T = 1 TO N
  80. 730 I = T(T)
  81. 740  COLOR= C2(I)
  82. 750  GOSUB 160
  83. 760  GOSUB 90
  84. 770  COLOR= C1(I)
  85. 780  GOSUB 160
  86. 790  NEXT T
  87. 800  GOTO 200
  88. 810  FOR W = 0 TO 300: NEXT W
  89. 820  IF N >40  THEN  GOTO 840
  90. 830  GOTO 690
  91. 840  TEXT : HOME : FLASH : VTAB 7: HTAB 5: PRINT "YOU WIN!!!": NORMAL : FOR W = 1 TO 1000: NEXT W: GOTO 1020
  92. 850  PRINT : PRINT : PRINT : PRINT "YOU WAITED TOO LONG!!!!"
  93. 860  GOTO 880
  94. 870  PRINT : PRINT : PRINT : PRINT "WRONG NOTE!!!!"
  95. 880 F(I) = 40:D = 50: GOSUB 120
  96. 890 F(I) = 3:D = 254: GOSUB 120
  97. 900  FOR W = 1 TO 100: NEXT W
  98. 910  POKE  -16368,0
  99. 920  FOR T = 1 TO N
  100. 930 I = T(T)
  101. 940  COLOR= C2(I)
  102. 950  GOSUB 160
  103. 960  GOSUB 90
  104. 970  COLOR= C1(I)
  105. 980  GOSUB 160
  106. 990  NEXT T
  107. 1000  PRINT : PRINT : PRINT : PRINT : PRINT "LISTEN TO SEQUENCE AGAIN?": GET A$
  108. 1010  IF A$ = "Y"  THEN D = D +10: GOTO 920
  109. 1020  PRINT : PRINT : PRINT : PRINT : PRINT "PLAY AGAIN?": GET A$
  110. 1030  IF A$ = "Y"  THEN N = 1: GOTO 520
  111. 1040  TEXT : HOME : VTAB 4
  112. 1050  PRINT "THANK YOU FOR PLAYING SIMON WITH ME!": END 
  113. 1060  GR 
  114. 1070 I = 1
  115. 1080 L = 1
  116. 1090  COLOR= C1(I)
  117. 1100 L = L +1: IF L = 11  THEN  GOTO 520
  118. 1110  IF I = 1  THEN  VLIN 6,7 AT 1: VLIN 6,7 AT 38
  119. 1120  IF I = 2  THEN  VLIN 9,10 AT 1: VLIN 9,10 AT 38
  120. 1130  IF I = 3  THEN  VLIN 6,7 AT 3: VLIN 6,7 AT 36
  121. 1140  IF I = 4  THEN  VLIN 9,10 AT 3: VLIN 9,10 AT 36
  122. 1150  IF I = 5  THEN  VLIN 3,4 AT 1: VLIN 3,4 AT 38
  123. 1160  IF I = 6  THEN  VLIN 3,4 AT 3: VLIN 3,4 AT 36
  124. 1170  IF I = 7  THEN  VLIN 12,13 AT 1: VLIN 12,13 AT 38
  125. 1180  IF I = 8  THEN  VLIN 12,13 AT 3: VLIN 12,13 AT 36
  126. 1190  FOR J = 1 TO 5: COLOR= C1(I)
  127. 1200  ON J GOSUB 1270,1310,1340,1360,1380
  128. 1210  COLOR= C2(I)
  129. 1220  ON J GOSUB 1270,1310,1340,1360,1380
  130. 1230  COLOR= C1(I)
  131. 1240  ON J GOSUB 1270,1310,1340,1360,1380
  132. 1250  GOSUB 1400: NEXT J
  133. 1260  GOTO 1090
  134. 1270  HLIN 7,10 AT 3: HLIN 7,10 AT 4: VLIN 5,7 AT 7
  135. 1280  PLOT 8,8: PLOT 9,9: PLOT 10,5: VLIN 10,14 AT 10
  136. 1290  HLIN 7,10 AT 13: HLIN 7,10 AT 14: PLOT 7,12
  137. 1300  RETURN 
  138. 1310  HLIN 12,14 AT 3: HLIN 12,14 AT 4: HLIN 12,14 AT 13: HLIN 12,14 AT 14
  139. 1320  VLIN 5,12 AT 13
  140. 1330  RETURN 
  141. 1340  VLIN 3,14 AT 16: VLIN 3,14 AT 20: PLOT 17,4: PLOT 19,4: VLIN 5,6 AT 18
  142. 1350  RETURN 
  143. 1360  VLIN 3,14 AT 22: VLIN 3,14 AT 25: VLIN 3,4 AT 23: VLIN 3,4 AT 24: VLIN 13,14 AT 23: VLIN 13,14 AT 24
  144. 1370  RETURN 
  145. 1380  VLIN 3,14 AT 27: VLIN 3,14 AT 31: VLIN 3,5 AT 28: VLIN 6,11 AT 29: VLIN 12,14 AT 30
  146. 1390  RETURN 
  147. 1400  REM 
  148. 1410  IF  PEEK( -16384) >128  THEN  POKE  -16368,0: GOTO 520
  149. 1420 I = I +1: IF I = 9  THEN I = 1
  150. 1430  RETURN 
  151. 1440  TEXT : HOME : VTAB 7: PRINT "THIS IS A COMPUTER VERSION OF": PRINT : PRINT "'SIMPLE SIMON' OR 'FOLLOW ME'.": PRINT : PRINT "THE COMPUTER WILL SOUND A TONE AND": PRINT : PRINT "LIGHT THE CORRESPONDING BOX.": PRINT 
  152. 1450  PRINT "THE PLAYER THEN REPEATS THE TONE/LIGHT": PRINT : PRINT "COMBINATION BY PRESSING THE APPROPRIATE": PRINT : PRINT "KEY. AFTER A CORRECT RESPONSE, THE ": PRINT : PRINT "COMPUTER ADDS A TONE/LIGHT TO ITS": PRINT : PRINT "SEQUENCE. THE GAME ENDS WHEN THE PLAYER": PRINT 
  153. 1460  PRINT "DOES NOT KEY IN THE CORRECT SEQUENCE.": INVERSE :
  154. 1470  PRINT : PRINT "HIT RETURN TO CONTINUE": NORMAL : GET A$
  155. 1480  HOME : VTAB 3: HTAB 11: PRINT "SIMPLE SIMON KEYBOARD"
  156. 1490  VTAB 7: HTAB 3: PRINT "------    ------    ------    ------": PRINT "  ! E  !    ! R  !    ! T  !    ! Y  !"
  157. 1500  PRINT "  !    !    !    !    !    !    !    !    !----!    !----!    !----!    !----!    !TONE!    !TONE!    !TONE!    !TONE!    ! 5  !    ! 1  !    ! 2  !    ! 7  !    ------    ------    ------    ------"
  158. 1510  VTAB 15: HTAB 3: PRINT "------    ------    ------    ------": PRINT "  ! D  !    ! F  !    ! G  !    ! H  !"
  159. 1520  PRINT "  !    !    !    !    !    !    !    !    !----!    !----!    !----!    !----!    !TONE!    !TONE!    !TONE!    !TONE!    ! 6  !    ! 3  !    ! 4  !    ! 8  !    ------    ------    ------    ------"
  160. 1530  PRINT : PRINT : PRINT : HTAB 10: INVERSE : PRINT "HIT ANY KEY TO CONTINUE...";: NORMAL : GET A$
  161. 1540  GOTO 80